14 research outputs found

    Meaningful Categorisation of Novice Programmer Errors

    Get PDF
    The frequency of different kinds of error made by students learning to write computer programs has long been of interest to researchers and educators. In the past, various studies investigated this topic, usually by recording and analysing compiler error messages, and producing tables of relative frequencies of specific errors diagnostics produced by the compiler. In this paper, we improve on such prior studies by investigating actual logical errors in student code, as opposed to diagnostic messages produced by the compiler. The actual errors reported here are more precise, more detailed and more accurate than the diagnostic produced automatically

    Blackbox: A Large Scale Repository of Novice Programmers’ Activity

    Get PDF
    Automatically observing and recording the programming be- haviour of novices is an established computing education research technique. However, prior studies have been con- ducted at a single institution on a small or medium scale, without the possibility of data re-use. Now, the widespread availability of always-on Internet access allows for data col- lection at a much larger, global scale. In this paper we re- port on the Blackbox project, begun in June 2013. Black- box is a perpetual data collection project that collects data from worldwide users of the BlueJ IDE – a programming environment designed for novice programmers. Over one hundred thousand users have already opted-in to Blackbox. The collected data is anonymous and is available to other researchers for use in their own studies, thus benefitting the larger research community. In this paper, we describe the data available via Blackbox, show some examples of analyses that can be performed using the collected data, and discuss some of the analysis challenges that lie ahead

    Novice Programmer Errors - Analysis and Diagnostics

    Get PDF
    All programmers make errors when writing program code, and for novices the difficulty of repairing errors can be frustrating and demoralising. It is widely recognised that compiler error diagnostics can be inaccurate, imprecise, or otherwise difficult for novices to comprehend, and many approaches to mitigating the difficulty of dealing with errors are centered around the production of diagnostic messages with improved accuracy and precision, and revised wording considered more suitable for novices. These efforts have shown limited success, partially due to uncertainty surrounding the types of error that students actually have the most difficulty with - which has most commonly been assessed by categorising them according to the diagnostic message already produced - and a traditional approach to the error diagnosis process which has known limitations. In this thesis we detail a systematic and thorough approach both to analysing which errors that are most problematic for students, and to automated diagnosis of errors. We detail a methodology for developing a category schema for errors and for classifying individual errors in student programs according to such a schema. We show that this classification results in a different picture of the distribution of error types when compared to a classification according to diagnostic messages. We formally define the severity of an error type as a product of its frequency and difficulty, and by using repair time as an indicator of difficulty we show that error types rank differently via severity than they do by frequency alone. Having developed a ranking of errors according to severity, we then investigate the contextual information within source code that experienced programmers can use to more accurately and precisely classify errors than compiler tools typically do. We show that, for a number of more severe errors, these techniques can be applied in an automated tool to provide better diagnostics than are provided by traditional compilers

    Motivating programmers via an online community

    Get PDF
    Motivation is one of the decisive factors in the process of learning to program. This paper describes the Greenfoot Gallery, a project created to increase motivation of beginning programmers. The Greenfoot Gallery is a community driven web site that allows the publication of programming projects created with the Greenfoot environment. In this paper, we especially describe and discuss community communication patterns via commenting on the site, and possible effects of these on student motivation

    Group work support for the BlueJ IDE

    Get PDF
    Learning to work in teams is essential for every software professional. Developing software as a team project is the standard practice in industry, and should be practiced in university courses. Starting effective group work practices early can lead to better acceptance of group work as a standard development mode. Nonetheless, group work is often not included in introductory programming courses. The reason is often the necessary overhead associated with developing software in groups. We present a design and implementation of group work support tools integrated into the educational BlueJ IDE, which remove much of the tool overhead and make it easier to include group work in introductory courses

    A New Look at Novice Programmer Errors

    Get PDF

    Kent Academic Repository Full text document (pdf) Versions of research Citation for published version Group Work Support for the BlueJ IDE

    No full text
    ABSTRACT Learning to work in teams is essential for every software professional. Developing software as a team project is the standard practice in industry, and should be practiced in university courses. Starting effective group work practices early can lead to better acceptance of group work as a standard development mode. Nonetheless, group work is often not included in introductory programming courses. The reason is often the necessary overhead associated with developing software in groups. We present a design and implementation of group work support tools integrated into the educational BlueJ IDE, which remove much of the tool overhead and make it easier to include group work in introductory courses

    Stride in bluej - Computing for all in an educational Ide

    Get PDF

    Web-scale data gathering with BlueJ

    Get PDF
    Many investigations of students' initial learning of programming are based on small-scale studies of their interactions with a learning environment. Although this research has led to significant improvements in the understanding of student behaviour (and tool support), it has often been restricted to small numbers of students at single institutions. This paper describes an initiative to instrument the widely-used BlueJ environment to collect data on a much larger scale, and make that data available to Computing Education researchers. The availability of this data has the potential to enable research not previously possible. This paper discusses the type of data that will be gathered, the restrictions placed on identifying students, and mechanisms for associating the data with contextual data gathered outside the scope of the initiative
    corecore